/**********************************************************************************************/
// RSTrigger_Async.h
//
// Asyncronic RS Trigger
// Copyright Diamant Group 2007
/**********************************************************************************************/
#ifndef _RSTRIGGER_ASYNC_H_
#define	_RSTRIGGER_ASYNC_H_

#include "stdafx.h"
#include "dgtKernel.h"
#include "dgt_TriggerElement.h"

/**********************************************************************************************/
class dgt_RSTrigger_ASync: public dgt_TriggerElement
{
	public://///////////////////////////////////////////////////////////////////////////////////

							dgt_RSTrigger_ASync( void );

							~dgt_RSTrigger_ASync( void );

public://///////////////////////////////////////////////////////////////////////////////////

	// Name of element
	wxString				get_Name( void )
		{ return m_Name; }

	// Count of outputs
	unsigned long			get_DataInputCount( void )
	{ return 2; }
	unsigned long			get_DataOutputCount( void )
	{ return 2; }
	unsigned long			get_ServiceInputCount( void )
	{ return 0; }
	wxArrayString			get_ServiceInputNames( void )
	{ return wxArrayString( NULL ); }	


	// Number of elemnets in one schema
	unsigned long			get_BCount( void )
		{ return m_BCount; }

	// Number of inputs of element
	unsigned long			get_ICount( void )				
		{ return m_ICount; }

	// Present syncro
	bool					get_Syncro( void )
		{ return m_Sync; }

	// Function table of element
	wxArrayShort			get_Table( void )
		{ return m_table; }

	wxArrayShort			get_InpSygnals( bool begValue, bool endValue );

private:////////////////////////////////////////////////////////////////////////////////////

	wxArrayShort			m_table;
	wxString				m_Name;
	unsigned long			m_BCount, m_ICount;
	bool					m_Sync;

};

#endif // _RSTRIGGER_ASYNC_H_